//class Solution {
//public:
//
//    bool IsPopOrder(vector<int>& pushV, vector<int>& popV) {
//        // write code here
//        if (pushV.size() != popV.size())
//            return false;
//        int inpos = 0;
//        int outpos = 0;
//        stack<int> st;
//        while (outpos < popV.size())
//        {
//            while (st.empty() || st.top() != popV[outpos])
//            {
//                if (inpos < pushV.size())
//                {
//                    st.push(pushV[inpos++]);
//                }
//                else
//                {
//                    return false;
//                }
//            }
//            st.pop();
//            outpos++;
//        }
//        return true;
//    }
//};